package a06_polymorphism.Animal;

/**
 * @Author quan
 * @Description 测试类
 * @Date 2023/3/6 10:54
 */
public class TestDemo {
    public static void main(String[] args) {
        //正常写法：创建Animal对象只能调用Animal中的方法
        Animal animal = new Animal("元宝",2);
        animal.test();
        animal.eat();
        //向上转型：只能调用Dog类中和父类Animal共有的方法eat
        Animal animal1 = new Dog();
        if(animal1 instanceof Dog){//使用instanceof 判断当前对象是否是Dog
            animal1.eat();
        }
        //如果要调用Dog中的独有方法：bite,则要向下转型
        Dog dog = (Dog) animal1;
        dog.bite();


    }
}
